home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacWorld: Complete Mac Interactive
/
Macworld Complete Mac Interactive CD)(1994).iso
/
Software
/
More Shareware⁄Freeware
/
NIH Image 1.55 f (non fpu)
/
Macros
/
Fun and Games
< prev
next >
Wrap
Text File
|
1993-11-03
|
3KB
|
129 lines
macro 'Random Ovals';
var
PicWidth,PicHeight,hloc,vloc,width,height:real;
begin
SaveState;
SetPalette('Spectrum');
MakeNewWindow('Random Ovals');
GetPicSize(PicWidth,PicHeight);
repeat
hloc:=width*random;
vloc:=height*random;
width:=(PicWidth-hloc)*random;
height:=(PicHeight-vloc)*random;
MakeOvalRoi(hloc,vloc,width,height);
SetForeground(255*random);
fill;
until Button;
KillRoi;
RestoreState;
end;
macro 'Draw Ball';
var
width,height,n,i,color,diam,nSteps:integer;
begin
SaveState;
nSteps:=64;
SetPalette('Spectrum');
SetBackground(255); {Black}
MakeNewWindow('Ball');
GetPicSize(Width,Height);
if width>height
then diam:=height
else diam:=width;
color:=1;
MakeOvalRoi((width-diam)/2,(height-diam)/2,diam,diam);
for i:=1 to nSteps do begin
InsetRoi(round(diam/(3*nSteps)));
SetForeground(color);
fill;
color:=color+round(256/nSteps);
if color>254 then color:=254;
end;
KillRoi;
RestoreState;
end;
macro 'Speckle Paint [S]';
var
x,y,ranx,rany,MaxSpeckSize,size,Spread:integer;
begin
RequiresVersion(1.48);
SetCursor('Cross');
Spread:=50;
MaxSpeckSize:=5;
KillRoi;
repeat
GetMouse(x,y);
if button then begin
ranx:=x+Spread*(Random-0.5);
rany:=y+Spread*(Random-0.5);
size:=(MaxSpeckSize-2)*random+2;
MakeOvalRoi(ranx-size,rany-size,size*2,size*2);
SetForeground(Random*254+1);
fill;
end;
until (x<0) or (y<0);
KillRoi;
end;
macro 'Random Color Boxes';
var
n,PicWidth,PicHeight,hloc,vloc,size:integer;
begin
SaveState;
n:=24;
GetPicSize(PicWidth,PicHeight);
if PicWidth=0 then begin
PutMessage
('This macro needs an opened image, preferably in color, to operate on.');
Exit;
end;
size:=round(PicWidth/n);
repeat
hloc:=((PicWidth*random) div size)*size;
vloc:=((PicHeight*random) div size)*size;
MakeRoi(hloc,vloc,size,size);
SetForeground(255*random);
fill;
{Invert;}
until Button;
KillRoi;
RestoreState;
end;
macro 'Random LUT Colors [C]';
var
i,colors,entries,first,last,r,g,b:integer;
begin
RequiresVersion(1.48);
SetCursor('Watch');
colors:=25;
entries:=256/colors;
if entries>256 then entries:=256;
repeat
first:=random*255;
last:=first+entries-1;
if last>255 then last:=255;
r:=random*255;
g:=random*255;
b:=random*255;
for i:=first to last do begin
RedLUT[i]:=r;
GreenLUT[i]:=g;
BlueLUT[i]:=b;
end;
UpdateLUT;
until button;
end;